Dans la leçon précédente, j'ai mentionné le gardien, et si vous êtes familier avec McComb, vous
le savez probablement déjà.
En bref, gatekeeper en tant qu'ensemble d'outils qui valide tout nouveau logiciel pour s'assurer qu'il répond à toutes
les exigences de sécurité d'Apple, y compris la notarisation.
Donc, sachant cela, avant de commencer le processus de légalisation, lisez-le à partir de la section précédente du
cours, nous aurons d'abord besoin d'un moyen de vérifier s'il est notarié ou non.
Pour ce faire, nous pouvons utiliser les outils de ligne de commande de gatekeeper.
Encore une fois, ceci est strictement pour Mac, juste pour être clair, vers le terminal où la première étape va
vérifier que vous avez bien activé le portier.
De nombreux développeurs désactiveront simplement le gatekeeper dès le départ, mais bien sûr que non.
L'utilisateur moyen en tant que contrôleur d'accès est activé par défaut pour vérifier cela, puis exécuter pseudo car cela nécessite des autorisations de route ou
des autorisations d'administrateur en termes Apple, SPC, T. L. étant les outils de ligne de
commande de gatekeeper avec un indicateur d'état, entrez, qui vous demande votre mot de passe.
Entrez donc cette évaluation activée, ce qui signifie que le contrôleur d'accès est activé et vérifie toutes les nouvelles applications.
Si vous avez désactivé cette option, vous pouvez la réactiver avec l'activation du maître pseudo spectral afin
de tester votre notarisation, puis la désactivation du maître pseudo spectral pour le désactiver à nouveau si vous le
souhaitez.
Droite.
Donc, sachant que le portier est activé, testons l'application refaite que nous avons créée dans la section précédente.
Plus important encore, vous devez tester l'application réelle, pas le DMG.
Le DMG n'est jamais notarié, seulement l'application elle-même.
L'application est actuellement installée sur mon bureau pour le plaisir des leçons.
Donc, pour l'évaluer, exécutez pseudo spectral avec un drapeau ISIS passant le chemin vers l'application.
Dans mon cas, l'application redit dot de bureau à domicile entre.
Et nous sommes rejetés car cette application n'a pas encore été notariée.
Maintenant, si vous vous demandez pourquoi nous n'avons pas reçu l'avertissement du gardien lors de son premier
lancement dans la section précédente du cours, c'est parce qu'il est signé avec un certificat de développeur de cette
machine ou de toute autre machine et que nous exécuterions en problèmes.
OK, alors sachant comment vérifier cela, allons-y et voyons comment reconstruire chacune de nos cibles
Mac avec l'étape incluse de les authentifier également.
Pour ce faire, vous utiliserez d'abord le module notarié électron, qui est un module officiel du
compte d'organisation électronique et fonctionne parfaitement avec le constructeur d'électrons.
Nous pouvons l'installer en tant que dépendance dev.
Alors au terminal dans le répertoire du projet NPM installer avec un drapeau D pour le développement électronique
notariser.
Et puis revenons au dépôt de modules sur GitHub, faites défiler un peu ici, nous avons quelques prérequis pour notariser une application,
le premier étant de vous assurer que vous avez la dernière version de Xcode, un
compte développeur Apple, que nous savions alors effectuer.
La notarisation avec ce compte nécessitera également un mot de passe spécifique à l'application, qui sera créé dans une
minute.
Et enfin, les applications doivent être signées avec un runtime renforcé qui inclut ces droits.
Mais notez que dans presque tous les didacticiels existants expliquant comment notariser une application, cela est toujours configuré
manuellement, y compris le lien du didacticiel directement à partir de la documentation Electron Balde.
Celui-ci ici, c'était le cas, mais l'électron balde maintenant fait tout cela automatiquement.
Un runtime renforcé est utilisé pour signer toutes les cibles par défaut et avec cela le droit par défaut auquel le
bloc d'électrons est attribué.
Nos applications incluent tous ces éléments, y compris d'autres droits utiles, tels que l'autorisation d'utiliser des modules dans
notre application.
Donc, à moins que vous ne définissiez vos propres droits, il n'est pas nécessaire de définir quoi que ce soit vous-même.
Si vous souhaitez en savoir plus sur les autres droits que vous pouvez utiliser ou en savoir plus sur le
dur et le runtime, j'ai lié à une ventilation très détaillée dans la documentation des développeurs Apple.
OK, sachant cela, créons ce mot de passe spécifique à l'application à utiliser pour la notarisation sur votre
tableau de bord Apple ID à l'adresse Apple ID dot apple dot com sign in.
Et ici, dans la section sécurité, sous des mots de passe spécifiques, générez un nouveau mot de passe, en lui
donnant un nom mémorable, je vais simplement l'appeler, le lire, le notariser, créer.
Et là, vous ne pourrez voir ce mot de passe qu'une seule fois, alors copiez-le et comme pour le jeton d'accès
personnel get up, j'écrirai ceci dans un fichier dans le répertoire privé du projet dans le terminal.
Faites écho à ce mot de passe sous forme de chaîne dans le texte du point du mot de passe de l'identifiant Apple privé.
N'oubliez pas que tout ce répertoire privé est exclu d'un autre.
La meilleure option serait probablement de le stocker dans un gestionnaire de mots de passe comme une chaîne ou similaire.
Ensuite, nous devons configurer le module du notaire d'électrons à utiliser par le constructeur d'électrons pendant
le processus.
Pour ce faire, le constructeur d'électrons nous fournit un crochet avec lequel nous pouvons spécifier
une fonction JavaScript à exécuter après que chaque cible se soit connectée au JSON emballé, accédez au paramètre de configuration de construction principal après
le signe, pointant vers un module JavaScript qui créera dans un seconde.
Je vais créer cela directement dans la construction.
Donc, une barre oblique en gras notariée dot js crée ce script dans le répertoire.
Notarié, James.
C'est là que nous pouvons maintenant configurer les Ojai notariés pour gérer l'ensemble du processus pour nous, et
l'ajouter à votre build ajoutera un temps considérable au processus car chaque cible sera téléchargée sur Apple
pour la notarisation, quelque chose à garder à l'esprit.
Vous ne voulez faire cela que pour la toute dernière version, pas lors des tests.
OK, donc la façon dont le script fonctionne alors, est-ce que l'électronique s'attend à ce qu'elle exporte une fonction
par défaut?
Nous pouvons créer cela comme un nœud nécessitant une exportation ou une exportation Essex.
Peu importe celui que vous choisissez.
Je vais commencer par un simple message afin que nous puissions voir quand la notarisation commence dans l'ancien journal de
notarisation.
Et exportez cette fonction par défaut avec les exportations, pas par défaut.
Égale une fonction asynchrone.
Cette fonction reçoit un argument de l'électron Baldor étant le contexte de la cible en cours de construction.
Notez maintenant que le crochet de signe après a été défini dans la configuration de construction principale, pas dans la configuration Mac, ce qui
signifie que cela sera exécuté pour toutes les cibles, pas seulement pour Mac.
Donc, la première chose à faire dans cette fonction est de s'assurer que nous
avons affaire à un Mac, Skip Notarize, sinon Mac OS vérifiant avec une plate-forme de processeur F différente de Darwin.
Retournez et si le script ne renvoie pas l'année, ce qui signifie que nous construisons pour
Mac, continuez à notariser, je vais d'abord obtenir quelques variables de ce contexte fournies par le constructeur d'électrons attribuant au contexte
de nom le package d'argument de fonction unique package dot app info , nom de fichier du produit scalaire.
C'est le nom de la finale.
Donc, dans mon cas, lisez-le.
Nous pouvons également obtenir le chemin d'accès où l'application est créée pour attribuer à l'application contextuelle DOT.
Nous n'avons pas encore exigé que l'électron soit notarié, alors faites-le dès le début du script.
Exiger la fonction notariée en utilisant l'affectation structurée du module notarié électronique, ce module que nous
avons installé précédemment.
C'est tout ce dont nous avons besoin.
Nous pouvons donc ensuite exécuter la fonction notariée et renvoyer sa réponse.
Retour en attente lorsque la fonction notariée retourne, une promesse que le script gras doit attendre,
c'est pourquoi nous avons rendu cette fonction par défaut asynchrone notarisée, cette fonction prend un seul argument étant un
objet d'options dans lequel nous pouvons d'abord définir l'ID du bundle d'application .
Étant cette valeur d'ID d'application, nous avons, en fait, Jason, je vais copier ceci.
Et puis, vous pouvez également exiger le package Dargis dans le fichier du script comme vous le faites pour tout
autre module et accéder à la valeur de cet objet, mais cela fera l'affaire pour le moment.
Ensuite, définissez le chemin.
Cela indique au script notarié où trouver l'application qui vient d'être signée.
Ce sera donc directement dans le Dyster ou dans Abduh, cette application de barre oblique d'année variable nomme cette variable ici application
DOT en utilisant une chaîne interpolée, puis votre idée de compte de développeur Apple.
Il s'agit généralement de l'e-mail que vous vous connectez à votre compte de développeur Apple et du mot de passe de l'identifiant Apple, le mot de
passe spécifique à l'application que nous avons généré.
Maintenant, vous pouvez bien sûr simplement coder ces informations d'identification dans le script, mais ce n'est pas une bonne pratique.
Donc, à la place, nous utiliserons à nouveau certaines variables d'environnement comme nous l'avons fait lors de la configuration du
jeton d'accès de lecture, en définissant l'identifiant Apple comme processus START N. V. , DOT, identifiant Apple et mot de passe identifiant Apple comme
point de processus EMV, mot de passe identifiant Apple.
C'est tout.
Le script est maintenant terminé et prêt à être utilisé chaque fois qu'Electron Balde signe un nouveau bloc.
Nous avons déjà vérifié que les constructeurs actuels ont été rejetés par le garde-porte.
Donc, avec tout cela prêt, reconstruisons-le pour Mac avec une notarisation sûre des deux fichiers et dirigons-nous vers
le terminal.
Supprimez toute la direction du disque pour recommencer.
Exécution d'électron builder M pour Mac et sans oublier de définir les variables d'environnement que nous utilisons dans le
script notarié, en faisant semblant que cette commande soit appliquée de manière égale à mon e-mail de développeur.
Et le mot de passe Apple ID égal au mot de passe spécifique à l'application que nous avons généré, j'ouvrirai ce fichier dans mon éditeur.
Et copié une chaîne.
Ce qui nous montre le processus audacieux comme auparavant, et maintenant, dès que la signature est terminée, nous voyons notariser
le message fort de ce script notarié.
Comme mentionné, cela peut prendre un certain temps en fonction de votre connexion.
Je vais donc sauter ceci.
Et une fois qu'il est téléchargé et notarié, le reste du boulon continue comme avant, avant de nouveau et
terminé.
Si quelque chose ne va pas, vous obtiendrez une sortie utile car cette promesse sera rejetée avec un
message d'erreur.
Je vais installer la nouvelle application à partir du DMG Mount that.
Écraser l'application existante sur mon bureau.
Évaluez à nouveau l'application.
Alors au terminal.
Pseudo spectacle avec un V, cette fois pour le bureau à la maison des SS verbeux, lisez-le, parlez du nouveau avec lequel nous venons de le
remplacer, qui vous demande votre mot de passe.
Alors entrez cela.
Et si tout s'est bien passé, vous serez désormais accepté, ce qui signifie que cette application est notariée et pourra
être lancée sur n'importe quel Mac sans avertissement.
C'est essentiellement tout ce qu'il faut pour légaliser les applications Mac pour l'auto-distribution.
Mais veuillez noter que ce processus peut parfois causer quelques problèmes.
Si votre application nécessite des privilèges spéciaux, comme l'accès à la caméra, la réception de notifications push,
etc.
Il est donc toujours important de tester cette version finale de l'application et de vous assurer que tout fonctionne comme prévu
si vous avez besoin de privilèges spéciaux.
Assurez-vous de jeter un œil à la documentation matérielle et d'exécution liée aux ressources des leçons.
Vous y trouverez tous les droits disponibles.
Enfin, si vous avez besoin de vérifier les droits avec lesquels l'application a été signée, vous
pouvez le faire en exécutant un signe de code avec un indicateur D, puis un indicateur de droits.
Tiret Colon et le chemin d'accès à votre application, bureau à domicile, lisez-le.
Qui imprime l'intégralité du fichier de droits utilisé pour l'inscription, juste un petit ajout utile, devriez-vous en avoir
besoin?
Cela conclut à nouveau la notarisation, cela peut être légèrement différent pour votre application, mais vous devriez maintenant avoir
une bonne compréhension de la façon de gérer ce processus et de fournir vos applications aux utilisateurs.